package com.hex.ds.hdtp.core.app.script.analyze.service;

import com.hex.ds.hdtp.core.app.common.page.PageData;
import com.hex.ds.hdtp.core.app.common.page.dto.PageDto;
import com.hex.ds.hdtp.core.app.common.service.IBasicService;
import com.hex.ds.hdtp.core.app.script.analyze.dto.request.ScriptAnalyzeListRequestDto;
import com.hex.ds.hdtp.core.app.script.analyze.dto.response.ScriptAnalyzeListResponseDto;

import java.util.List;

/**
 * @Package com.hex.ds.hdtp.core.app.script.analyze.service
 * @ClassName IScriptAnalyzeListService
 * @Description 脚本分析清单-业务服务接口
 * @Author gj.xu
 * @Date 2023/12/8 14:11
 * @Version v2.0
 **/
public interface IScriptAnalyzeListService extends IBasicService<ScriptAnalyzeListRequestDto> {

    /**
     * 根据分析任务主键查询
     *
     * @param analyzeTaskPkId
     * @return
     */
    List<ScriptAnalyzeListResponseDto> queryByTaskId(String analyzeTaskPkId);

    /**
     * 分页查询分析脚本及血缘
     *
     * @param scriptAnalyzeListRequestDto
     * @param pageDto
     * @return
     */
    PageData queryConsanguinityListByPage(final ScriptAnalyzeListRequestDto scriptAnalyzeListRequestDto, final PageDto pageDto);

    /**
     * 根据逐渐删除
     *
     * @param convertTaskPkId
     */
    void removeByTaskId(String convertTaskPkId);

    /**
     * 根据主键更新状态
     *
     * @param pkId
     * @param status
     * @param log
     */
    void modifyStatus(String pkId, String status, String log);

    /**
     * 根据主键更新开始时间
     *
     * @param pkId
     */
    void modifyStartTsById(String pkId);

    /**
     * 根据主键更新开始时间
     *
     * @param pkId
     */
    void modifyEndTsById(String pkId);
}
